package com.zyq.mybatisPlusDemo.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("users")//当表名跟实体类类名不一致时，要使用@TableName注解进行映射
@Accessors(chain = true)
//@Accessors(chain = true,fluent = true)//启动lombok的链式编程,fluent = true表示让get和set方法没有set和get单词
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String name;
    private Integer age;

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}
//Mybatis-Plus默认采用雪花算法生成唯一值。
//在MyBatis-Plus中，要启用自增主键，你需要在你的实体类中的主键字段上使用@TableId注解，并将其type属性设置为IdType.AUTO。
//这会告诉MyBatis-Plus使用数据库的自增机制来处理主键。

//VO（View/Value Object）—— 视图对象
//DTO（Data Transfer Object）—— 数据传输对象
//BO（Business Object）—— 业务对象
//PO（Persistent Object）—— 持久对象
//DO（Data/Domain Object）—— 数据/领域对象
//POJO（Plain Old/Ordinary Java Object）—— 以上模型的统称